package v1

import "github.com/gogf/gf/v2/frame/g"

type UserInfoReq struct {
	g.Meta `path:"/" method:"post" summary:"用户详情" tags:"用户管理"`
	UserId int64 `json:"-"`
}

type UserInfoRes struct {
	UserId    int64  `json:"userId" description:"用户id"`
	UserCode  string `json:"userCode" description:"用户code（第三方userId）"`
	UserName  string `json:"userName" description:"用户名"`
	Email     string `json:"email" description:"邮件"`
	AvatarURL string `json:"avatarUrl" description:"头像url"`
	VipValid  bool   `json:"vipValid" description:"vip是否有效"`
	Coins     int    `json:"coins" description:"硬币"`
	Bonus     int    `json:"bonus" description:"额外硬币"`
	IsLogin   int    `json:"isLogin" description:"是否登录（1：第三方登录，2：游客登录）"`
	LoginType string `json:"loginType" description:"登录类型 FB、GOOGLE、DAFAULT（系统登录）等"` // 登录类型 FB、GOOGLE、DAFAULT（系统登录）等
}

type LoginReq struct {
	g.Meta      `path:"/auth/:provider" method:"post" summary:"用户第三方登录" tags:"用户管理"`
	Id          int    `json:"id" v:"required"`
	Provider    string `json:"provider" description:"登录方式： google， facebook"`
	Code        string `json:"code"`
	AccessToken string `json:"access_token"`
	Credential  string `json:"idToken" description:"登录凭证"`
}

type LoginOutReq struct {
	g.Meta `path:"/auth/loginOut" method:"post" summary:"用户登出" tags:"用户管理"`
}

type LoginRes struct {
	UserId    int64  `json:"userId" description:"用户id"`
	Username  string `json:"username" description:"用户名"`
	Email     string `json:"email" description:"邮件"`
	AvatarURL string `json:"avatarURL" description:"头像"`
	Token     string `json:"token"`
	IsLogin   int    `json:"isLogin" description:"是否登录（1：第三方登录，2：游客登录）"`
	LoginType string `json:"loginType"  description:"登录类型 FB、GOOGLE、DAFAULT（系统登录）等"`
	UserCode  string `json:"-"  description:"第三方登录code"`
}

type CreateUserReq struct {
	g.Meta `path:"/create" method:"post" summary:"游客登录" tags:"用户管理"`
	//g.Meta        `summary:"游客登录" tags:"用户管理"`
	DeviceId      string `json:"deviceId" v:"required" description:"设备号"`
	ProductId     int64  `json:"productId" v:"required" description:"产品id"`
	PhoneModel    string `json:"phoneModel" description:"手机型号"`
	SystemVersion string `json:"systemVersion" description:"操作系统"`
}

// AutoPlayReq 自动播放参数
type AutoPlayReq struct {
	g.Meta   `path:"/autoPlay" method:"post" summary:"自动播放" tags:"用户管理"`
	AutoPlay int   `json:"autoPlay" description:"是否自动播放：1：自动 0：不自动"`
	UserId   int64 `json:""`
}
